Program guide system with combination category search

ABSTRACT

An interactive television program guide system is provided in which the program guide may provide the user with a selectable list of combination categories. Combination categories are composed of multiple simple categories such as sports, news, comedy, movies, children, etc. Program listings are supplied to the program guide. At least some of the program listings are associated with combination categories. A combination category build process may be used to assign combination categories to program listings. The user is able to use the selectable categories list to quickly identify programming of interest.

This application is a continuation of U.S. patent application Ser. No.12/826,910, filed Jun. 30, 2010, which is a continuation of U.S. patentapplication Ser. No. 12/551,363, filed Aug. 31, 2009, now U.S. Pat. No.7,873,973, which is a continuation of U.S. patent application Ser. No.11/254,554, filed Oct. 19, 2005, now U.S. Pat. No. 7,603,685, which is acontinuation of U.S. patent application Ser. No. 09/410,332, filed Oct.1, 1999, now abandoned, which claims the benefit of United Statesprovisional application Serial No. 60/106,855, filed Nov. 3, 1998, allof which are hereby incorporated by reference herein in theirentireties.

BACKGROUND OF THE INVENTION

This invention relates to interactive television program guides, andmore particularly, to television program guides that provide programmingcategories or themes that are combinations of individual categories, andin which users may select particular subsets of programming by categoryor theme.

Cable, satellites, and broadcast television systems provide users with alarge number of television channels. Users have traditionally consultedprinted television program schedules to determine the programs beingbroadcast at a particular time. More recently, interactive electronictelevision program guides have been developed that allow televisionprogram information to be displayed on a user's television.

Interactive program guides are typically implemented, on set-top boxes.Such program guides allow users to view television program listings indifferent display formats. For example, a user may instruct the programguide to display a grid or table of program listings organized in achannel-ordered or a time-ordered-list. Users may also search and sortprogram listings by category (e.g., movies, sports, etc.), or by title(i.e., alphabetically).

Because there are so many television channels available, particularlywith cable and satellite television systems, television program, guideshave been developed that allow users to select favorite channels. Duringtuning, the program guide may allow the user to tune to favoritechannels only, while skipping all, other channels. Alternatively, adisplay screen containing program listings may be organized in a waythat reflects which channels are favorites. For example, a table ofprogram listings may contain only favorite channels and all otherchannels may be suppressed from view. According to another approach,program listings for all channels are displayed. However, when the userscans through the table of program listings, the cursor control, whichhighlights a program and allows the user to make a selection, willadvance among the favorite channels and skip over the other channels.

Another approach for assisting the user in selecting among thetelevision channels available is to allow users to search for programlistings in categories (sometimes referred to as genres or themes). Withthis approach the user cannot narrow the search beyond that of thestandard categories (e.g., sports, comedies, etc.).

Other program guides allow the user to perform searches based onmultiple categories, but this requires that the user select eachcategory and then initiate the search, which may be a cumbersomeprocess.

Some program guides address this abundance of information by havinghierarchical categories. First, the user is presented with a relativelyshort list of higher-level or more general categories. Typicalhigher-level categories include movies, sports, or series programs.After the user, selects a higher-level category, the program guidedisplays a list of subcategories, such as comedy, action, or baseball,from which the user may select one or more subcategories. This processmay continue through several levels of subcategorization. While the listof categories at each level may be relatively short and easier to viewand comprehend, a drawback is that the user may not readily appreciatewhich high-level category will lead to a desired specific category at alower level. The user may be required to enter multiple keystrokes tofind the desired category.

After tediously setting up a multiple category search or navigating acomplex hierarchical menu, the user may eventually locate a desiredcategory only to discover that there are no program listings for thatcategory. Moreover, the user must repeat this process whenever searchingfor program listings involving a new category.

What is needed is a more sophisticated way in which a program guide canhandle programming categories.

It is therefore an object of the present invention to provide aninteractive television program guide system in which more specificprogramming categories may be generated.

It is also an object of the invention to provide program listings thatmay be displayed and searched according to programming categories thatare more reflective of a user's interests.

SUMMARY OF THE INVENTION

These and other objects of the invention are accomplished in accordancewith the principles of the present invention by providing an interactivetelevision program guide system in which an interactive televisionprogram guide is at least partially implemented on user equipment. Theprogram guide may be partially implemented at a server located, forexample, at a television distribution facility and partially implementedon user television equipment or on user personal computer equipment.

The program guide displays program listings for a user on the userequipment. Each program listing may be associated with a plurality ofprogramming categories. For example, a program listing may be associatedwith three categories. The categories associated with the programlisting are independent in that the user need only perform asingle-level search on any of the three categories to retrieve theassociated program listing. The categories may be simple categories orcombination categories. Combination categories are composed of multiplesimple categories. Examples of simple categories are movies comedy,sports and series. Examples of combination categories are comedy-movies,comedy-series, and sports-baseball. Not all combinations of categoriesneed to be supported. For example, the program guide may support thecombination category horror-movies but not horror-series. Thecombination categories that are supported are preferably those thatallow users to readily access desirable groups of program listings.

The program guide may display the categories that are available in alist from which a user may select a desired category. The list mayinclude both simple categories and combination categories. The simplecategories and the combination categories may be intermixed. When theuser selects a given category from the list, the program guide displaysall program listings for that category.

The categories in the list may be displayed in a predefined initialorder. For example, the categories may be listed in alphabetical order.All categories of a particular type may be grouped together. Forexample, all movie categories may be grouped together or all sportscategories may be grouped together.

The program guide may allow the user to modify the list of categories tomake it easier to locate the user's favorite categories. For example,each time a category is accessed it may be moved to the top of the list.Categories may also be moved to the top of the list based on how oftenthey are accessed. The program guide may allow the user to change theorder of the categories in the list directly by specifying a category tomove to the top or bottom of the list or by otherwise rearranging theorder of the categories. The program guide may also allow the user toremove a category from the list. The program guide may provide the userwith an opportunity to add removed categories back to the list at alater time.

Further features of the invention, its nature and various advantageswill be more apparent front the accompanying drawings and the followingdetailed description of the preferred embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an interactive television program guide system.

FIG. 2 is a flow chart of steps involved in assigning categories toprogram listings, allowing the user to select a given category, anddisplay a corresponding set of matching program listings in accordancewith the present invention.

FIG. 3( a) is illustrative program listings data in accordance with thepresent invention.

FIG. 3( b) is a partial listing of exemplary combination categoriessupported by the program guide in accordance with the present invention.

FIG. 3( c) is illustrative-program listings data similar to that shownin FIG. 3( a), but modified following a combination category buildprocess in accordance with the present invention.

FIG. 4 is an illustrative interactive program guide display screen fordisplaying and selecting categories in accordance with the presentinvention.

FIG. 5( a) is a flow chart of steps involved in providing options forselecting display configurations in accordance with the presentinvention.

FIG. 5( b) is an illustrative interactive program guide display screenfor displaying and selecting categories in accordance with the presentinvention.

FIG. 5( c) is an illustrative interactive program guide display screensimilar to FIG. 5( b), illustrating the redisplay of the categoriesafter the selection of FIG. 5( b) in accordance with the presentinvention.

FIG. 6 is a flow chart of steps involved in providing options forselecting display configurations in accordance with an alternativeembodiment of the present invention.

FIG. 7( a) is a flow chart of steps involved in providing options forselecting display configurations in accordance with a second alternativeembodiment of the present invention.

FIG. 7( b) is an illustrative interactive program guide display screenfor displaying and selecting categories in accordance with the presentinvention.

FIG. 8 is a flow chart of steps involved in providing options forselecting display configurations in accordance with a third alternativeembodiment of the present invention.

FIG. 9 is an illustrative program display screen containing programlistings that match a selected category in accordance with the presentinvention.

FIG. 10 is an illustrative program guide display screen in which theprogram listings that match a selected category have been distinctivelydisplayed in accordance with the present invention.

FIG. 11 shows an illustrative program listings by category screen inaccordance with the invention.

FIG. 12 shows an illustrative interactive program guide display screenfor providing information and user-selectable options with respect toprogram listings, in accordance with the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

An illustrative interactive television program guide system 10 inaccordance with the present invention is shown in FIG. 1. Main facility12 may contain a back office processor 14 for organizing data, such astelevision program guide listings data, as will be described in greaterdetail below. Main facility 12 may also contain a program guide database16 for storing program guide information, pay-per-view orderinginformation, television program promotional information, etc. Some ofthe information stored in database 16 may be from an external datasource 18. Back office processor 14 is used to process the informationstored in database 16.

Information from database 16 may be transmitted to multiple televisiondistribution facilities such as television distribution facility 20 viacommunications links such as communications link 21. Only one televisiondistribution facility is shown in FIG. 1 to avoid over-complicating thedrawings. Each Link 21 may be a satellite link, a telephone networklink, a cable or fiber optic link, a microwave link; a combination ofsuch links, or any other suitable communications path. If it is desiredto transmit video signals over link 21 in addition to data signals, arelatively high bandwidth link such as a satellite link is generallypreferable to a relatively low bandwidth link such as a telephone line.

Television distribution facility 20 is a facility for distributingtelevision signals to users. Television distribution facility 20 may be,example, a cable system headend, a broadcast distribution facility, asatellite television distribution facility, or any other suitabledistribution facility.

The program guide information transmitted by main facility 12 totelevision distribution facility 20 includes television program listingsdata for current and future television programs. The television programlistings data for each program preferably includes numerous programcharacteristics, e.g., the title of the program, the channel for theprogram, a scheduled broadcast time (start time) and an ending time (orduration). Other typical program characteristics include ratings,critics ratings, descriptions, categories (sports, movies, comedy,children, etc, actors, etc. Transmitted program information may alsoinclude advertising information and pay program data such as pricinginformation for individual programs and subscription channels, timewindows for ordering programs and channels, telephone numbers forplacing orders that cannot be impulse ordered, etc.

Television distribution facility 20 distributes television programmingand program guide information to the user television equipment 26 or theuser personal computer (PC) equipment 28 of multiple users viacommunications paths 30 and 32, respectively. PC equipment 28 is basedon a central processing unit (CPU) 44 and may have a monitor 46 andkeyboard 48. User television equipment 26 may be based on a set-top box34 and may have optional videocassette recorder 38, or any othersuitable recording device, such as a digital storage device (e.g.,recordable DVD or hard disk) or a server located at a central location atelevision 40, and remote control 42.

Various techniques may be used to distribute television programming andprogram guide information. For example, television programming may bedistributed over analog television channels and program guide data maybe distributed over an out-of-band channel on paths 30. Datadistribution may also involve using one or more digital channels onpaths 30 and 32. Such digital channels may also be used for distributingtelevision programming and other information. Multiple television andaudio channels (analog, digital, or both analog and digital) may beprovided to set-top boxes 34 and PC equipment 28 via communicationspaths 30 and 32. In user television equipment 26, television programsmay be tuned to user's set-top box 34 and may be displayed by television40. In user PC equipment 28, a video board or other such component maybe used to tune to a television program, and the television program maybe displayed on monitor 46. Program listings and other information maybe distributed via-communications paths 32 to PC equipment 28, which mayhave a cable modem or other such communications device for retrieving ortransmitting data. In addition program listings and other data may bedistributed by one or more distribution facilities that are similar tobut separate from television distribution facility 20 usingcommunications paths that are separate from communications paths 30 and32. If desired, data from the main facility 12 may be distributed to PCequipment 28 over the Internet or other suitable communications paththat does not involve the use of television distribution facility 20. Insome configurations, program guide functions are provided in the form ofan on-line program guide by using PC, equipment 28 to access a webserver such as web server 29 over the Internet 31 or other such datanetwork.

The program guide system may use a client-server architecture whether ornot the system involves use of the Internet. In a client-serverarrangement, the program guide is partially implemented on a server andpartially implemented on a client. The server may be a server such asserver 22 located at, for example, television distribution facility 20.Processors in the user equipment, such as set top box 34 or CPU 44, mayact as the client processors. Program guide data that are distributed toa client-server program guide at television distribution facility 20 maybe stored in a database 24 at television distribution facility 20 thatis maintained by server 22. For clarity, the present invention isdescribed primarily in the context of an interactive television programguide that is implemented on user equipment using a set-top box 34 orCPU 44 that receives data from television distribution facility 20,rather than in the context of program guides that are implemented usinganon-line program guide configuration, are implemented partially on aserver and partially on user equipment, or are implemented using anyother such arrangements.

Certain functions such as pay program purchasing may require set-topboxes 34 to transmit data to television distribution facility 20 overcommunications paths 30. If desired, such data may be transmitted overtelephone lines or other separate communications paths. If functionssuch as these are provided using facilities separate from televisiondistribution facility 20, some of the communications involving set-topboxes 34 may be made directly with the separate facilities.

User television equipment 26 has a receiver, which is typically aset-top box such as set-top box 34, but which may be other suitabletelevision equipment into which circuitry similar to set-top-boxcircuitry has been integrated. For example, user television equipment 26may be based on an advanced television receiver such as a highdefinition television (HDTV) receiver. Program guide data may bedistributed to set-top boxes 34 periodically or continuously and storedin database 36. In a client-server architecture, this entire databaseneed not be maintained on the set-top box. For example, the programguide may maintain database such as database 24 using a server such asserver 22 located at television distribution facility 20 or at someother appropriate location or locations. Television distributionfacility 20 may poll set-top boxes 34 periodically for certaininformation to pay program account information or information regardingprograms that have been purchased and viewed using locally-generatedauthorization techniques).

Main facility 12 preferably contains a processor to handle informationdistribution-tasks. Each set-top box 34 preferably contains a processorto handle tasks associated with implementing a program guide applicationon the set-top box 34. User PC equipment contains CPU 44 to handle tasksassociated with implementing a program guide application. Televisiondistribution facility 20 may contain a processor for tasks associatedwith monitoring a user's interactions with the interactive programguides implemented on user PC equipment 28 and user television equipment26 and for handling tasks associated with the distribution of programguide data and other information to user PC equipment and usertelevision equipment 26. Moreover, the processor of televisiondistribution facility 20 may be used to support the server functions ofa client-server program guide.

In user television, equipment 26 videocassette recorders 38 allowselected television programs to be recorded. Each videocassette recorder38 is connected to a respective television 40. To record a program,set-top box 34 tunes to a particular channel and sends control signalsto videocassette recorder 38 (e.g., using an infrared transmitter) thatdirect videocassette recorder 38 to start and stop recording at theappropriate times.

During use of the interactive television program guide implemented onset-top box 34, television program listings and other information may bedisplayed on television 40. Such program guide displays may be presentedas an overlay on top of a television program to which the user has tunedwith set-top box 34 or may be presented in place of such a program. Eachset-top box 34, videocassette recorder 38, and television 40 may becontrolled by one or more remote controls 42 or any other suitable userinput interface such as wireless keyboard, mouse, trackball, dedicatedset of buttons, etc. Remote controls such as remote control 42 havevarious buttons that May be pressed by the user such as arrow keys (fordirecting on-screen movement of a highlight region, scrolling functions,etc.), an OK, select, enter, or other such selection key for making aselection (hereinafter referred to as an enter key), channel number keys(for selecting a television channel), a favorite's key (to invokefunctions related to user preferences), a delete key (to delete menuitems or to express a disinterest in certain user preferences), etc.

PC equipment, such as PC equipment 28 is based on a CPU 44 thatmaintains a database 45 program guide implemented on PC equipment 28 maybe used to access and display program guide information on monitor 46.User selections and inputs may be made by a keyboard 48, mouse,trackball, or other PC input devices. It is understood that thefollowing discussion, although directed to user television equipment andset top boxes, is applicable to program guides used in connection withPC equipment.

Modern cable and satellite systems provide users with a wide range ofprogramming, of which only a portion may be of interest to a user at aparticular time. In order to locate programs of interest, programlistings data is associated with each program. The program guidedisplays program listings for the user in various display formats. Theprogram guide may allow the user to search for program listings ofinterest using keywords. For example, each program listing may beassociated with one or more programming categories that identify thesubject matter of the program. Typical categories, which are alsosometimes called themes or genres, include, e.g., sports, news, movies,comedy, children's, adult, etc. As will be described in greater detailbelow, program listings data may be provided to the main facility 12from an external data source 18. In the program listings data providedby external data source 18, each program listing may already beassociated with one or more categories. Back office processor 14 andtransmission system 33 may also perform functions associated withassigning program listings to appropriate programming categories.

Program guides typically display lists of available programmingcategories, and allow users to search through the program listings, databy selecting one or more such categories. In accordance with the presentinvention, users may search for program listings of interest using both“simple” categories and “combination” categories. A simple category isan individual programming category, such as sports, comedy, horror,news, movies, children, adult, etc. A combination category is aprogramming category that is composed oaf multiple simple categories,such as comedy-movies, comedy-series, sports-baseball, or sports-comedy.Where not specified, the term programming category refers collectivelyto both simple and combination categories.

In main facility 12, program listings may initially be categorized intosimple categories. This may be accomplished, for example, by manual dataentry. If desired, program listings data may be received from a datasource 18 that already has been categorized in simple categories. Anautomatic process in back office processor 14 or transmission system 33may process each program listing with associated simple categories toassign that program listing to appropriate combination categories fromamong the combination categories supported by the system.

This process is illustrated in greater detail in FIG. 2. As shown instep 60, program listings information is supplied to main facility 12 ofFIG. 1 from one or more data sources, such as data source 18 of FIG. 1.The program listings information may be composed of programming titles,channels, scheduled broadcast times, program durations or end times),ratings, critics ratings, descriptions, simple categories, actors, etc.At step 62, each program, listing is reviewed and one or more simplecategories are assigned to the program listing if necessary. This stepmay be performed by an operator after reviewing the program listing, aprogram synopsis or other information. This step may alternatively beautomated by assigning categories based on key words appearing in theprogram description associated with the listing. If desired, simplecategories may be assigned to the program listings prior to transmissionof the program listings data from data source 18 (such that steps 60 and62 would be combined).

At step 64, a list of preselected combination categories is retrievedfrom memory (e.g., memory located in back office processor 14). The listof simple and combination categories that are supported by the programguide are supplied by the main facility 12 to the user equipment 26/28,or the program guide server 22, or the web server 29, either with theprogram guide listings or separately, and stored in memory in advance ofstep 64. Information on which combination categories (and simplecategories) are supported by the system is also provided to the programguides, so that the program guides may present appropriate categoryselection options to the users. As will be described below with respectto FIG. 2 (step 66) and FIG. 4, the list of supported categories may beused by the program guide to determine which categories to display tothe user. The number of simple programming categories may be large dueto the diversity of programming available. Therefore, the total numberof potential combination categories, composed of every possible pair ofsimple categories is even larger and may be unmanageable. Not everypossible combination of two simple-categories is logical or useful tothe user. Therefore, only some of the possible combination categoriesare preferably supported by the program guide. The selection ofsupported combination categories by the program guide provider may bebased on user interest in the various combinations. The list ofsupported combination categories may be derived from high user interestas expressed by a relatively high frequency of selection of theconstituent simple categories, for example. Step 62 and step 64 areindependent of one another. They may be performed concurrently orconsecutively. It is also understood that step 64 need only be performedonce and the list of supported categories may be accessed in latersteps.

At step 66, the program listings data for each program, which includesat least the program title and one or more simple programmingcategories, is reviewed. The simple programming categories associatedwith a particular program listing are compared with the list ofsupported combination categories. When two or more simple categoriesassociated with a given program listing are determined to match asupported combination category in the supported combination categorylist, that combination category is assigned to the given program listingat step 70. Steps 66 and 70 may be performed repeatedly, until eachprogram listing has been reviewed and assigned any relevant combinationcategories. The above-described combination category build process ofsteps 60, 62, 64, 66, 68 and 70 may be executed automatically at backoffice processor 14, at the transmission system 33, or any other suchsuitable location.

Illustrative data structures of the type that may be used by the programguide system are shown in FIGS. 3( a)-3(c). An illustrative datastructure 150 that contains title information 152 for the program TheNatural is shown in FIG. 3( a). Several simple programming categories154 have been assigned to this program listing, i.e., drama, sports, andbaseball (e.g., at step 62 of FIG. 2). A portion of an illustrative list156 of supported combination categories 158 is shown in FIG. 3( b). Forexample, sports-drama, sports-comedy, sports-series, sports-baseball,and sports-football are in the list. Continuing with this example, otherconceivable combination categories, such as drama-baseball are notsupported. In steps 66 and 70 of FIG. 2, the simple categoriesassociated with the program listing of FIG. 3( a) are compared with thesupported combination category list of FIG. 3( b) until the combinationcategory build process is complete and revised program listings datasuch as the revised program listings data 160 illustrated in FIG. 3( c)has been produced. At step 66 of FIG. 2, the build process groups simplecategories sports and drama, and determines that a combination categorywhich includes sports and drama, i.e., sports-drama, is supported inlist 156. Next, the program listing of FIG. 3( a) is assigned thecombination category sports-drama at step 70. Steps 66 and 70 may berepeated as necessary until all possible groups of simple categorieshave been compared with the list 156 of supported combinationcategories. Thus, the build process notes the categories sports andbaseball and assigns the combination category sports-baseball. It isunderstood that the process described above is exemplary only, and thatother procedures for assigning combination categories to programs arecontemplated. For example, all simple categories be combined ascombination categories first, and then unsupported combinationcategories subsequently deleted.

With continued reference to FIG. 2, program guide displays a selectablelist of programming categories at step 72. The list of supportedcombination categories described above may be used by the program guideto determine which categories to display to the user. The displayedcategories may include both simple categories and supported combinationcategories. The program guide may search the program listings databasefor program listings in each of the categories. The program guide maythen display only those categories having at least one program listingassociated with that category, while suppressing categories having noassociated program listings. As shown in FIG. 4, category list 172 maybe displayed 618 part of program guide display screen 170. Category list172 is more useful to the user than category lists that contain onlysimple categories or those that contain potentially confusing nestedhierarchical lists described above. Category list 172 is more detailedthan non-hierarchical lists based on simple categories because it is notlimited to broad categories. Category list 172 is also simpler to usethan program guides that require users to enter multiple categories toinitiate a search. Category list 172 retains the simplicity of use ofnon-hierarchical lists, because the user may intuitively scroll throughthe list (e.g., with arrow keys on remote control 42 or a suitableon-Screen control). Moreover, category list 172 has the advantage of thehierarchical list in that it provides more useful and specific programcategories for the user while avoiding the disadvantage of thehierarchical list's need tri perform confusing searches by navigatingthrough nested lists of categories. The user may initiate the display oflist 172 using any suitable button or on-screen option provided by theprogram guide. The display of programming categories may be initiallyprovided to the user by the program guide in alphabetical order. Theprogram guide may display the name of the category 176 i.e.,“sports-baseball,” by including the simple categories that have beenjoined, i.e., “sports” and “baseball.” Alternatively, the guide Maydisplay the name of one of the simple categories, e.g. “baseball,” oranother appropriate name for the category.

The order of the displayed categories may be modified to provide moreuseful information to the user. Commonly-assigned Rosenthol et al. U.S.patent application Ser. No. 09/262,658, filed Mar. 4, 1999 disclosesseveral options for modifying the display of programming categoriesbased on which categories are favorites of the user and is herebyincorporated by reference herein in its entirety. These and otherexamples of suitable ways in which the program guide may displayprogramming categories in a manner which reflects user interest aredescribed below.

According to a first option, the program guide displays a selectablelist of programming categories at step 80 (FIG. 5( a)). FIG. 5( b)displays category list 172 on display screen 170. After the user choosesa favorite programming category 174, e.g., sports, and presses enter onthe user remote, the program guide redisplays the list of programmingcategories with the selected programming category moved to the top ofthe list of programming categories at step 84 (FIG. 5( a)), FIG. 5( c)displays favorite programming category 174 redisplayed at the top ofcategory list 172.

A second option is illustrated in FIG. 6 with the first option, theselectable list of programming categories is displayed by the programguide at step 86. As the user selects various categories and views theassociated program listings, the program guide monitors the frequency ofselection of each of the programming categories at step 90. The programguide redisplays the list of categories according to the frequency ofselection of each programming category at step 92. For example, theprogramming category selected most frequently may appear at, the top ofthe list. The category having the second highest frequency of access maybe displayed second on the list, and so forth.

A third option is illustrated in FIGS. 7( a) and 7(b). The program guidein FIG. 7( a) displays the selectable list of programming categories atstep 94. After the user selects a category, the program guide providesthe option of designating a particular location or order of placement inthe category list 172 at step 96. The list is subsequently redisplayedby the program guide with the selected programming category appearing atthe designated location at step 98. As illustrated in FIG. 7( b), screen200, similar to screen 170, above, displays category list 202 whereineach category has an initial ranking, such as ranking 203. The user maywish to select the category 204, i.e., sports, and designate the secondposition in the list to be used for that category. Such designation maybe made by entering the number “2” in box 206 by using numerical keys orthe arrow keys on the user remote. The list is subsequently redisplayedby the program guide with the selected programming category appearing atthe designated. Continuing with the example, the programming categorysports will appear in the second position on the category list 202 (notshown).

According to a fourth option, the program guide displays a selectablelist of programming categories at step 100 of FIG. 8. After the userselects a programming category, the program guide redisplays the list172 of programming categories with the selected programming categorydeleted from the list 172 at step 104. The deleted category may bepermanently discarded or may be retained by the program guide in step106. At step 108, the program guide provides the user with the option ofredisplaying the list such that the selected programming category isrestored to the list. If the user opts to restore the deleted categoryto the list, the restored list may be displayed at step 109. The optionto retain and restore or delete categories is particularly useful if theusers's interests change or if multiple users share the program guide. Aprogramming category that may have been of little interest to the userat one time may subsequently attract greater interest for the user ormay be of interest to another one of the users.

As shown in FIG. 2, after the program guide displays the selectable listof categories at step 72, the user may select a desired category. Asshown in FIG. 4, the program guide may allow the user to use arrow keyson remote control 42 (FIG. 1) to position a highlight region such ashighlight region 174 on a particular programming category 176, e.g.,“sports-dramas”. After the desired category has been highlighted, theuser may press enter on remote control 42. This directs the programguide to use the selected category (e.g., the category “sports-dramas”)as a search criterion for searching the program listings data forprogramming having the “sports-dramas” combination category. Asillustrated in FIG. 2, the program guide searches for programlistings-data matching the selected category at step 76. The search maybe performed in database 36 or 45 by the user equipment 26 or 28, oralternatively, in database 24 television distribution facility 20 when aclient-server architecture is used (FIG. 1). If an on-line program guideconfiguration is used, the search may be performed by the web serverthat provides the on-line program listings.

At step 78, the program guide displays the results of the search, i.e.,the program listings that match the selected category.

Program listings that match the selected category “sports-drama” aredisplayed (as an example) in FIG. 9. The program listings displayed inscreen 300 of FIG. 9 are organized by broadcast time 302 and by channel304. Cells 306 for program listings that satisfy the search by matchingthe selected category are displayed, whereas programs which do notsatisfy the search are suppressed from view. Channels which have nomatching programs may be suppressed from the display. For example,channels 7 and 8 would not be displayed in display screen 300 if theyare not broadcasting programming in the “sports-drama” category.

In the example of FIG. 9, only programming that has the category“Sports-drama” is displayed. Another approach is shown in FIG. 10. Withthe approach of FIG. 10, screen 350 is used to display all availableprogram listings to the user organized by broadcast time 352 and bychannel 354. Cells 356 containing program listings that satisfy thesearch may be distinctively displayed to attract the user's attention.For example, each program listing satisfying the search may berepresented in distinctive color. In addition (or alternatively), anicon or label 358, e.g., “sports-drama” may be provided in the programlisting cell 356 to indicate a match of that listing with the selectedprogramming category. Thus, all programming is displayed, but onlyprogramming having the “sports-drama” category is distinctivelydisplayed.

A further example of a program-listings by category screen is shown inFIG. 11. The illustrative screen 400 of FIG. 11 includes programlistings that match the category sports-drama. It is understood thatscreen 409 may be used to display program listings for any suitablecategory. The program listings by category screen of FIG. 11 shows analternative way in which program listings may be displayed and navigatedthrough for any display screen in which listings are displayed formultiple time slots. Program listings within list 404 may be displayedin cells 406, and divided into predefined time slots, such as into 30minute time slots. Users may quickly change between time slots by, forexample, pressing a “right” or “left” arrows on remote control 42.Between each time slot, separator 410 may be displayed to indicate to auser that a user has scrolled or paged program listings from one timeslot to the next. In FIG. 11, for a user is scrolling from programlistings for sports-drama in the 7:00 PM time-slot to program listingsfor sports-drama in the 7:30 PM time slot. When the user scrolls withinlistings, highlight region 412 may skip separator 410. If desired,separators 410 may be displayed only for those time slots for whichthere are listings. For example, if there were no sports-drama programsstarting at 7:30 PM, that separator would not be displayed. If desired,there may be a “watch previews” selectable feature that users may selectto view a preview for a highlighted listing. Users may also viewadditional information for a listing by, for example, highlighting thelisting and pressing an “info” key on remote control 42.

In the program listings screens of FIG. 11, program listings may bedisplayed within each time slot sorted in any suitable manner. Listingsmay be displayed, for example, by title, channel, start time, or usingany other suitable approach. The program listings screen of FIG. 11 hasalso been shown as including various other screen elements. Programlistings display screens may include, for example, selectableadvertisements, advertisement banner, brand logos, service providerlogos, clocks, message indicators, arrow indicators 420, or any othersuitable screen element. (It is understood that such elements may alsobe displayed on screens illustrated in FIGS. 9-19, above.) In theillustrative program listings screen of FIG. 11, the program guide mayalso adjust the time displayed in timebar 422 as the user scrolls orpages through program listings to reflect the time of the programlisting at the top of the list.

Regardless of the techniques used to display the search results, theprogram guide preferably allows the user to navigate through the programlistings and select a desired listing (e.g., by positioning a highlightregion such as highlight region 360 (FIG. 9), 362 (FIG. 10), or 412(FIG. 11)). When the user selects a given program listing from thesearch results, the program guide may take various actions, depending onthe type of program listing that was selected. For example, if a programfor the selected listing is currently being broadcast, the program guidemay provide the user with an option to tune to that program. If theprogram for, the selected listing is scheduled to be broadcast in thefuture, the program guide may ask if the user wishes to set a reminderfor the program. The program guide may also provide the user with anopportunity to direct the guide to record the program or to purchase theprogram if the program is a pay-per-view event. These variouspost-search-result features are well known. If desired, the user maysimply scroll through the program listings to review which programs areavailable. Further examples of searching and displaying programmingcategories are described in U.S. application Ser. No. 09/262,655,incorporated by reference above.

When a user selects a listing, such as 360/362/412 described above, theprogram guide may display an interactive information display screen suchas interactive information display screen 500 of FIG. 12 (which issubstantially identical to a portion of FIG. 4 a of David M. Rudnick etal. U.S. patent application Ser. No. 09/356,268, entitled PROGRAM GUIDEWITH INTERACTIVE INFORMATION DISPLAY SCREEN, filed Jul. 16, 1999, andincorporated by reference in its entirety herein). Interactiveinformation display screen 500 may include detailed information portion510 and may include a set of user-selectable options 512.

The content of interactive information display screen 500 may depend onthe type of program selected. For example, detailed information portion510 may include several lines of text providing information appropriatefor display for a program which may include, for example, a list of allsimple categories and combination categories associated with theprogram, etc. User-selectable options 512, for example, in a menu, mayinclude options that may depend on which type of program is selected andthe information associated with the selected item.

The foregoing is merely illustrative of the principles of this inventionand various modifications can be made by those skilled in the artwithout departing from the scope and spirit of the invention.

1. A method for categorizing programming using program listingsinformation, the method comprising: identifying, with a processor, aprogram listing associated with a plurality of simple categories;comparing, with the processor, the plurality of simple categories with alist of supported combination categories, wherein each combinationcategory in the list comprises two or more simple categories; andassigning, with the processor, at least one combination category in thelist to the identified program listing based on the comparison.
 2. Themethod of claim 1, wherein comparing the plurality of simple categorieswith a list of supported combination categories comprises searching thelist to determine which of the combination categories in the list matchat least two of the plurality of simple categories associated with theidentified program listing.
 3. The method of claim 2, wherein assigningat least one combination category in the list to the identified programlisting comprises assigning each combination category in the list thatis determined to match at least two of the plurality of simplecategories associated with the identified program listing.
 4. The methodof claim 1, wherein the processor is located in a remote server.
 5. Themethod of claim 1, wherein the processor is located in user equipment.6. The method of claim 1 further comprising generating the list ofsupported combination categories.
 7. The method of claim 6, whereingenerating the list of supported combination categories comprises:receiving information defining a set of simple categories ofprogramming; monitoring user selections of the simple categories in theset; determining which simple categories in the set received the mostuser selections based on the monitoring; and selecting a subset of thesimple categories in the set for inclusion in the list of supportedcombination categories based on the determination.
 8. The method ofclaim 1 further comprising assigning at least one simple category toeach of a plurality of program listings based on metadata associatedwith each respective program listing.
 9. The method of claim 1 furthercomprising presenting the at least one combination category in aselectable list on a display at user equipment.
 10. The method of claim9 further comprising: receiving a user selection of the at least onecombination category from the selectable list; in response to receivingthe user selection, searching a plurality of program listings todetermine which of the plurality of program listings have an assignedcombination category that matches the selected combination category; andpresenting the matching program listings on the display at the userequipment.
 11. A system for categorizing programming using programlistings information, the system comprising: a processor that:identifies a program listing associated with a plurality of simplecategories; compares the plurality of simple categories with a list ofsupported combination categories, wherein each combination category inthe list comprises two or more simple categories; and assigns at leastone combination category in the list to the identified program listingbased on the comparison.
 12. The system of claim 11, wherein theprocessor is configured to compare the plurality of simple categorieswith a list of supported combination categories by searching the list todetermine which of the combination categories in the list match at leasttwo of the plurality of simple categories associated with the identifiedprogram listing.
 13. The system of claim 12, wherein the processor isconfigured to assign at least one combination category in the list tothe identified program listing by assigning each combination category inthe list that is determined to match at least two of the plurality ofsimple categories associated with the identified program listing. 14.The system of claim 11, wherein the processor is located in a remoteserver.
 15. The system of claim 11, wherein the processor is located inuser equipment.
 16. The system of claim 11, wherein the processor isfurther configured to generate the list of supported combinationcategories.
 17. The system of claim 16 further comprising a receiverconfigured to receive information defining a set of simple categories ofprogramming, and wherein the processor is further configured to generatethe list of supported combination categories by: monitoring userselections of the simple categories in the set; determining which simplecategories in the set received the most user selections based on themonitoring; and selecting a subset of the simple categories in the setfor inclusion in the list of supported combination categories based onthe determination.
 18. The system of claim 11, wherein the processor isfurther configured to assign at least one simple category to each of aplurality of program listings based on metadata associated with eachrespective program listing.
 19. The system of claim 11 furthercomprising a display, wherein the processor is further configured topresent the at least one combination category in a selectable list onthe display.
 20. The system of claim 19 further comprising an user inputconfigured to receive a user selection of the at least one combinationcategory from the selectable list, and wherein the processor is furtherconfigured to: search, in response to receiving the user selection, aplurality of program listings to determine which of the plurality ofprogram listings have an assigned combination category that matches theselected combination category; and present the matching program listingson the display.